package com.brsya.movie.contract;

import com.brsya.base.base.BaseView;
import com.brsya.base.bean.BaseListBean;
import com.brsya.base.bean.RankingListBean;

import java.util.List;
import java.util.Map;

import io.reactivex.rxjava3.core.Observable;

/**
 * Created by Brsya
 * CreateDate: 2022/7/6  19:22
 * Description:
 * 排行榜列表
 */
public interface RankingListContract {
    interface Model {
        /**
         * 获取排行榜列表
         */
        Observable<BaseListBean<RankingListBean>> getRankingList(Map<String, Object> par);
    }

    interface View extends BaseView {
        /**
         * 显示排行榜数据
         *
         * @param rankingListBeans 列表数据
         */
        void showRankingList(List<RankingListBean> rankingListBeans);

        /**
         * 没有更多数据
         */
        void noMoreRankingList();
    }

    interface Presenter {

        /**
         * 获取排行榜数据
         *
         * @param videoType 排行榜类型
         * @param pageNum   页数-暂时不分页
         */
        void getRankingList(String videoType, int pageNum);

    }
}
